/*
 * Arma.h
 *
 *  Created on: 08/06/2013
 *      Author: RJC
 */

#ifndef ARMA_H_
#define ARMA_H_

#include "../Entidad.h"
#include "../Personaje.h"
#include "../Escenario.h"
#include "../../red/Mutex.h"
#include "../../constantes.h"
#include <math.h>
#include <time.h>

class Personaje;

class Arma {
public:
	virtual void atacar(Personaje* agresor, Casilla* casillaAtacada) = 0;
	virtual ~Arma();

	const string& getNombre() const {
		return nombre;
	}

protected:
	int danioBase;
	int habilidadMinima;
	Escenario* escenario;
	Mutex* mutexEscenario;
	string nombre;
	Arma(string nombre, int danioBase, int habilidadMinima, Escenario* escenario, Mutex* mutexEscenario);
};

#endif /* ARMA_H_ */
